home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / disk / cdrom / MusicBox-2.1os.lha / MusicBox / MusicBoxLibrary.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-29  |  3.9 KB  |  137 lines

  1. /*
  2.  ##########################################################################
  3.  ####                                                                  ####
  4.  ####                        The MusicBox Project                      ####
  5.  ####                    ============================                  ####
  6.  ####                                                                  ####
  7.  #### MusicBoxLibrary.h                                                ####
  8.  ####                                                                  ####
  9.  #### Version 2.1os  --  September 29, 2000                            ####
  10.  ####                                                                  ####
  11.  #### Copyright (C) 1994  Thomas Dreibholz                             ####
  12.  ####               2000  Molbachweg 7                                 ####
  13.  ####                     51674 Wiehl                                  ####
  14.  ####                     Germany                                      ####
  15.  ####                                                                  ####
  16.  ####                     EMail: Dreibholz@bigfoot.com                 ####
  17.  ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
  18.  ####                                                                  ####
  19.  ##########################################################################
  20. */
  21. /***************************************************************************
  22.  *                                                                         *
  23.  *   This program is free software; you can redistribute it and/or modify  *
  24.  *   it under the terms of the GNU General Public License as published by  *
  25.  *   the Free Software Foundation; either version 2 of the License, or     *
  26.  *   (at your option) any later version.                                   *
  27.  *                                                                         *
  28.  ***************************************************************************/
  29.  
  30. /* MusicBox-Library Include-Datei */
  31.  
  32. #include <exec/types.h>
  33.  
  34. struct TrackInfo
  35. {
  36.  ULONG SAddress;
  37.  ULONG TAddress;
  38.  UBYTE Title[50];
  39. };
  40.  
  41. struct MusicBoxInfo
  42. {
  43.  ULONG Address;
  44.  UBYTE Track;
  45.  UBYTE Minute;
  46.  UBYTE Second;
  47.  UBYTE Frame;
  48.  
  49.  UBYTE IsInserted;
  50.  UBYTE IsAudioCD;
  51.  UBYTE Function;
  52.  UBYTE TrackCount;
  53.  
  54.  ULONG            DiscID;
  55.  UBYTE            CDTitle[50];
  56.  struct TrackInfo TrackInfo[99];
  57. };
  58.  
  59. struct MusicBoxCommand
  60. {
  61.  struct Message      Message;
  62.  WORD                Command;
  63.  WORD                Status;
  64.  LONG                Args[8];
  65.  
  66.  ULONG               SignalMask;
  67.  UBYTE              *HostName;
  68.  struct MsgPort     *ReplyPort;
  69.  
  70.  struct MusicBoxInfo MusicBoxInfo;
  71. };
  72.  
  73. #define MUSICBOX_HOSTNAME "<Music Box Control>"
  74. #define ARCHIVE_HOSTNAME "<Music Box Archive Control>"
  75.  
  76. #define MBC_VERSION    1
  77. #define MBC_PLAY       2
  78. #define MBC_STOP       3
  79. #define MBC_PAUSE      4
  80. #define MBC_CONTINUE   5
  81. #define MBC_EJECT      6
  82. #define MBC_PLAYADR    7
  83. #define MBC_CHANNELS   8 
  84. #define MBC_VOLUME     9
  85. #define MBC_LOCK      10
  86.  
  87. #define MBC_GETINFO     50
  88. #define MBC_GETPOSITION 51
  89. #define MBC_UNICONIFY   60
  90. #define MBC_ICONIFY     61
  91.  
  92. #define MBCS_OK          0
  93. #define MBCS_UNKNOWN_CMD 1
  94. #define MBCS_CDTYPE      2
  95. #define MBCS_EJECTED     3
  96. #define MBCS_EJECTLOCK   4
  97. #define MBCS_NOT_PLAYING 5
  98. #define MBCS_NOT_PAUSED  6
  99. #define MBCS_NO_MEMORY   7
  100. #define MBCS_NO_PORT     8
  101.  
  102. #define MBF_STANDBY 0
  103. #define MBF_PLAY    1
  104. #define MBF_PAUSE   2
  105. #define MBF_STOP    3
  106.  
  107. #define MBCC_LEFT     1
  108. #define MBCC_RIGHT    2
  109. #define MBCC_LR       3
  110. #define MBCC_NOCHANGE 4
  111. #define MBCC_NONE     0
  112.  
  113. struct InfoText
  114. {
  115.  UWORD  LeftEdge;
  116.  UWORD  TopEdge;
  117.  UWORD  Flags;
  118.  UBYTE *Text;
  119. };
  120.  
  121. #define ISTF_LEFT  0
  122. #define ISTF_RIGHT 1
  123.  
  124. struct InfoStruct
  125. {
  126.  UBYTE             *Title;
  127.  UBYTE             *ProgName;
  128.  BOOL               LowRes;
  129.  struct DiskObject *Icon;
  130.  struct InfoText    Text[10];
  131.  UBYTE             *RegInfo;
  132. };
  133.  
  134. #define OA_QUIET (1L<<1)
  135. #define OA_LOWRES (1L<<2)
  136.  
  137.